/*
 * EBFV1_preprocessor.h
 *
 *  Created on: 17/09/2012
 *      Author: rogsoares
 */

#ifndef EBFV1_PREPROCESSOR_H_
#define EBFV1_PREPROCESSOR_H_

#include "pre-processorList.h"

typedef std::list<VertexData*> VD_list;		// Veretx List
typedef std::list<VD_list> GVD_list;		// List of Vertex Lists

typedef std::list<EdgeData*> ED_list;		// Edge List
typedef std::list<ED_list> GED_list;		// List of edges Lists

typedef std::list<BdryElementData*> BED_list;		// Edge List
typedef std::list<BED_list> GBED_list;		// List of edges Lists

// local functions prototypes
// =============================================================================
void loadNodalVolumes(ifstream &fid, TMesh *pTMesh_data);
void loadCij(ifstream &fid, TMesh *pTMesh_data);
void loadDij(ifstream &fid, TMesh *pTMesh_data);

//void createVertexMapping(TMesh *pTMesh_data);
void transferVertexDataFromListToMatrix(TMesh *pTMesh_data, GVD_list &globalList);
void printVerticesData(TMesh *pTMesh_data);
void transferEdgeDataFromListToMatrix(TMesh *pTMesh_data, GED_list &globalList);
void printEdgesData(TMesh *pTMesh_data);

void transferBdryElementDataFromListToMatrix(TMesh *pTMesh_data, std::vector<BED_list> &bdryElemVectorList);
void printBdryElemData(TMesh *pTMesh_data);




#endif /* EBFV1_PREPROCESSOR_H_ */
